package cn.iocoder.yudao.module.crm.service.task;

import cn.iocoder.yudao.module.crm.controller.admin.task.vo.TaskIsApproverRespVO;
import cn.iocoder.yudao.module.crm.controller.admin.task.vo.taskapprover.TaskApproverReqVO;

import java.util.Map;
import java.util.Set;

/**
 * CRM 任务单审批人关联 Service 接口
 *
 * @author 广州氪量
 */
public interface TaskApproverService {
    /**
     * 获得 CRM 任务单审批关系 Map
     *
     * @param taskIds 任务单ID数组
     * @return CRM 任务单审批人关联 Map
     */
    Map<Long, TaskIsApproverRespVO> getIsApproverByTaskIds(Set<Long> taskIds);

    /**
     * 创建 CRM 任务单审批人关联
     * @param taskTypeId 任务类型ID
     * @param taskId 任务单ID
     */
    void createTaskApprover(Long taskTypeId,Long taskId);

    /**
     * 删除 CRM 任务单审批人关联
     * @param taskId 任务单ID
     */
    void deleteTaskApprover( Long taskId);

    /**
     * 审批 CRM 任务单
     * @param taskApproverReqVO 审批信息
     * @return 审批结果
     */
    Long updateApprover(TaskApproverReqVO taskApproverReqVO);

}